#ifndef __DEMO_H__
#define __DEMO_H__

typedef void Demo;
typedef void Derived;


struct VirtTlb
{
	int(*pAdd)(Demo* pThis, int v);
};

struct ClassDemo
{
	struct VirtTlb *pvtl;
	int mi;
	int mj;
};

struct ClassDerived
{
	struct ClassDemo demo;
	int mk;
};


Demo* Create_DemoObj(int i, int j);
void Destory_DemoObj(void* pThis);
int getI(Demo* pThis);
int getJ(Demo* pThis);
int add(Demo* pThis, int v);


Derived* Create_DerivedObj(int i, int j, int k);
int getK(Derived* pThis);



#endif